\hypertarget{class_down_converter}{
\section{DownConverter$<$ Base, Derived $>$ Class Template Reference}
\label{class_down_converter}\index{DownConverter@{DownConverter}}
}
template class: converts a pointer to B into a pointer to R if T$<$R$>$ is derived from B  


{\tt \#include $<$DownConverter.h$>$}

\subsection*{Classes}
\begin{CompactItemize}
\item 
struct \textbf{Incompatible\_\-Type\_\-Exception}
\end{CompactItemize}
\subsection*{Public Member Functions}
\begin{CompactItemize}
\item 
\hypertarget{class_down_converter_a0bfbd70d20e53f7bb246d5425e3dd35}{
{\footnotesize template$<$typename R $>$ }\\\textbf{DownConverter} (Base $\ast$\_\-base\_\-ptr, R \&\_\-vtref)}
\label{class_down_converter_a0bfbd70d20e53f7bb246d5425e3dd35}

\item 
\hypertarget{class_down_converter_7502b6a076cbad006ca8c3b618ec06aa}{
{\footnotesize template$<$typename R $>$ }\\\hyperlink{class_down_converter_7502b6a076cbad006ca8c3b618ec06aa}{operator R} ()}
\label{class_down_converter_7502b6a076cbad006ca8c3b618ec06aa}

\begin{CompactList}\small\item\em the templated conversion operator, determined by l-value \item\end{CompactList}\item 
\hypertarget{class_down_converter_b9bbeb993d988f07e65454ca39cac96e}{
\textbf{operator Base \&} () const }
\label{class_down_converter_b9bbeb993d988f07e65454ca39cac96e}

\end{CompactItemize}


\subsection{Detailed Description}
\subsubsection*{template$<$typename Base, template$<$ typename $>$ class Derived$>$ class DownConverter$<$ Base, Derived $>$}

template class: converts a pointer to B into a pointer to R if T$<$R$>$ is derived from B 

\begin{Desc}
\item[Remarks:]\begin{itemize}
\item Situation: you have a base class B and a bunch of derived classes T$<$R$>$ (where R is not void ;-) \item Access: by means of conversion operator R() \item Template Parameters: on construction it is given a \_\-pointer\_\- to the base class and a reference to a variable of type R (so it knows what type of T$<$R$>$ it points to). \end{itemize}
\end{Desc}
\begin{Desc}
\item[Exceptions:]
\begin{description}
\item[{\em Incompatible\_\-Type\_\-Exception}]if ( typeid(R) != $\ast$myType ) \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]($\ast$ static\_\-cast$<$ $\ast$T$<$R$>$ $>$ \_\-pointer\_\-)\end{Desc}
\begin{Desc}
\item[See also:]\hyperlink{class_parameter___a_b_c}{Parameter\_\-ABC} \end{Desc}


The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
/Users/carloshergar/optica/Plasmas/rana-pic/trunk/include/\hyperlink{_down_converter_8h}{DownConverter.h}\end{CompactItemize}
